module.exports = function(grunt) {
    // 初始化配置 grunt 任务
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        uglify: {
            options: {
                //注释名称
                // banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' + '<%= grunt.template.today("yyyy-mm-dd") %> */'
                banner: '/*! <%= grunt.template.today("yyyy-mm-dd") %> */',
                compress: {
                    drop_console: true // true去掉console.log
                },
            },
            
            // build_a: {
            //     options: {
            //         mangle: true, //是否混淆
            //         preserveComments: 'all', //不删除注释，还可以为 false（删除全部注释），some（保留@preserve @license @cc_on等注释）
            //         footer: '\n/*! <%= pkg.name %> 最后修改于： <%= grunt.template.today("yyyy-mm-dd") %> */' //添加footer
            //     },
            //     files: {
            //         'dist/<%= pkg.name %>.min.js': ['src/index.js', 'src/login.js']
            //     }
            // },
            // build_b: {
            //     options: {
            //         report: "min", //输出压缩率，可选的值有 false(不输出信息)，gzip
            //         beautify: { //是否格式显示
            //             width: 80,
            //             beautify: false
            //     }
            //     },
            //     files: {
            //         'dist/<%= pkg.name %>.min.js': ['src/index.js']
            //     }
            // },
        //    build: {
        //       files: {
        //           'js/r.min.js': ['/js/r.js']   // 将合并后的build/js/build.js文件 压缩成 build.min.js
        //       }
        //    }
           // //按原文件结构压缩js文件夹内所有JS文件
           build: {
                options: {
                    preserveComments: 'all', //不删除注释，还可以为 false（删除全部注释），some（保留@preserve @license @cc_on等注释）
                },
                files: [{
                    expand: true,
                    cwd: 'src', //js目录下
                    src: '**/*.js', //所有js文件
                    dest: 'dist' //输出到此目录下
                }]
           }
        }
    });
  
    // 加载包含 "uglify" 任务的插件。 当grunt任务执行时加载对应的任务插件
    grunt.loadNpmTasks('grunt-contrib-uglify');
  
    // 注册默认被执行的任务列表。   执行任务是同步的
    grunt.registerTask('default', ['uglify']);
    // 注意：为了简便，此行代码的作用为：可直接输入命令 grunt，就可以执行uglify 的操作
    // 并且按顺序执行'uglify'
  };


  // 执行 grunt uglify 命令
  // 执行 node D:\CODE\grunt\node_modules\grunt-cli\bin\grunt